<?php
/**用户表模型
 * @Author: 976123967@qq.com
 * @Date:   2014-09-07 23:21:15
 * @Last Modified by:   chen
 * @Last Modified time: 2014-09-08 21:28:21
 */
class UserModel extends Model{
	public $table = 'user';

	/**
	 * [$validate 自动验证]
	 * @var array
	 */
	public $validate = array(

		array('email','nonull','请输入邮箱',2,3),
		array('email','email','邮箱格式不正确',2,3),
		array('uname','nonull','请输入用户名',2,3),
		array('password','nonull','请输入密码',2,3),
		array('password_d','nonull','请输入确认密码',2,3),
		array('password_d','confirm:password','两次密码不一致',2,3)

	);

	/**
	 * [$auto 自动完成]
	 * @var array
	 */
	public $auto = array(

		array('password','md5','function',2,3)

	);


	/**
	 * [check 注册ajax验证]
	 * @param  [type] $field [description]
	 * @param  [type] $value [description]
	 * @return [type]        [description]
	 */
	public function check($field,$value)
	{
		switch ($field) {
			case 'code':
				if(strtoupper($value)!=session('code'))
				{
					$this->error='验证码错误';
					return false;
				}
				break;
			case 'email':
				if($this->where(array('email'=>$value))->getField('uid'))
				{
					$this->error='邮箱已经注册';
					return false;
				}
				break;
			case 'uname':
				if($this->where(array('uname'=>$value))->getField('uid'))
				{
					$this->error='用户名已经注册';
					return false;
				}
				break;
		}
		return true;
	}


	/**
	 * [add_user 添加]
	 */
	public function add_user()
	{
		return $this->add();
	}


	/**
	 * [check_login 验证登录]
	 * @return [type] [description]
	 */
	public function check_login()
	{
		// 用户名或者邮箱
		$uname = Q('post.uname');
		// 密码
		$password = Q('post.password',null,'md5');
		// 组合条件
		$where = array('uname'=>$uname,'or','email'=>$uname);
		// 查询
		$data = $this->where($where)->find();
		// 用户不存在
		if(!$data)
		{
			$this->error='用户名或密码错误';
			return false;
		}

		// 密码不正确
		if($data['password']!=$password)
		{
			$this->error='用户名或密码错误';
			return false;
		}
		// 返回信息
		return $data;
	}
}